2020-2021 Sunseeker Telemetry and Lighting System
flashctl_ex1_infoSegmentWrite.c
Go to the documentation of this file.
1
/* --COPYRIGHT--,BSD
2
* Copyright (c) 2017, Texas Instruments Incorporated
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
*
9
* * Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
*
12
* * Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
*
16
* * Neither the name of Texas Instruments Incorporated nor the names of
17
* its contributors may be used to endorse or promote products derived
18
* from this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
* --/COPYRIGHT--*/
32
/*******************************************************************************
33
* MSP430i20xx Flash - Flash In-System Programming, Information Segment
34
*
35
* Description: Unlock the Information Segment, overwrite a number of values
36
* within it, then re-lock the Information Segment when writes are complete.
37
* Set breakpoint on NOP in main loop to avoid stressing flash. DO NOT ERASE
38
* ENTIRE INFORMATION SEGMENT, important values (TLV, etc) are contained
39
* within this segment.
40
*
41
* MSP430i20xx
42
* -----------------
43
* /|\| |
44
* | | |
45
* --|RST |
46
* | |
47
* | |
48
* | |
49
*
50
* Author: Yang Lu
51
******************************************************************************/
52
#include "
driverlib.h
"
53
54
// Address of the beginning of the Flash Information Segment
55
#define SEGSTART 0x1060
56
// Number of bytes within segment to write
57
#define SEG_LEN 16
58
59
// Value to write to segment
60
const
uint32_t
Value
= 0xBEEFDEAD;
61
62
void
write_InfoSeg
(uint32_t value);
63
64
void
main
(
void
) {
65
66
// Pointer to beginning of Flash segment
67
uint32_t *flashPtr = (uint32_t *)
SEGSTART
;
68
69
// Stop WDT
70
WDT_hold(WDT_BASE);
71
72
// Setting the DCO to use the internal resistor. DCO will be at 16.384MHz
73
CS_setupDCO(CS_INTERNAL_RESISTOR);
74
75
// Setting MCLK to DCO / 1. MCLK = 16.384MHz.
76
CS_initClockSignal(CS_MCLK, CS_CLOCK_DIVIDER_1);
77
78
// MCLK for Flash Timing Generator
79
// Flash clock will run at ~390kHz. Datasheet recommends 257kHz - 476kHz
80
FlashCtl_setupClock(390095, 16384000, FLASHCTL_MCLK);
81
82
FlashCtl_unlockInfo();
83
FlashCtl_fillMemory32(
Value
, flashPtr,
SEG_LEN
/ 4);
84
FlashCtl_lockInfo();
85
86
while
(1) {
87
// Set breakpoint to view memory
88
__no_operation
();
89
}
90
}
driverlib.h
Value
const uint32_t Value
Definition:
flashctl_ex1_infoSegmentWrite.c:60
write_InfoSeg
void write_InfoSeg(uint32_t value)
main
void main(void)
Definition:
flashctl_ex1_infoSegmentWrite.c:64
SEG_LEN
#define SEG_LEN
Definition:
flashctl_ex1_infoSegmentWrite.c:57
SEGSTART
#define SEGSTART
Definition:
flashctl_ex1_infoSegmentWrite.c:55
__no_operation
__no_operation()
Resources
Software
msp430_driverlib_2_91_13_01
examples
MSP430i2xx
flashctl
flashctl_ex1_infoSegmentWrite.c
Generated on Fri Apr 9 2021 22:49:40 for 2020-2021 Sunseeker Telemetry and Lighting System by
1.9.1